<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="AuthenticationType">
    <xs:sequence>
      <xs:element name="AuthenticationInfo">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="System">
              <xs:complexType>
                <xs:simpleContent>
                  <xs:restriction base="xs:anyType">
                    <xs:simpleType>
                      <xs:restriction base="xs:normalizedString">
                        <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                      </xs:restriction>
                    </xs:simpleType>
                    <xs:attribute name="Type" use="required">
                      <xs:simpleType>
                        <xs:restriction base="xs:token">
                          <xs:enumeration value="Network" />
                          <xs:enumeration value="Application" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:attribute>
                  </xs:restriction>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
            <xs:element name="Username" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:normalizedString">
                  <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="DistinguishedName" minOccurs="0" nillable="true">
              <xs:simpleType>
                <xs:restriction base="xs:normalizedString">
                  <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
            <xs:element name="PasswordList" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Password" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:simpleContent>
                        <xs:restriction base="xs:anyType">
                          <xs:simpleType>
                            <xs:restriction base="xs:base64Binary">
                              <xs:maxLength value="255" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                            </xs:restriction>
                          </xs:simpleType>
                          <xs:attribute name="Algorithm" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:token">
                                <xs:enumeration value="base64" />
                                <xs:enumeration value="MD5" />
                                <xs:enumeration value="SHA1" />
                                <xs:enumeration value="DES" />
                                <xs:enumeration value="TripleDES" />
                                <xs:enumeration value="RC2" />
                                <xs:enumeration value="AES" />
                                <xs:enumeration value="RSA" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                          <xs:attribute name="KeyName" use="required">
                            <xs:simpleType>
                              <xs:restriction base="xs:normalizedString">
                                <xs:maxLength value="64" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:attribute>
                        </xs:restriction>
                      </xs:simpleContent>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType" />
    <xs:attribute name="SIF_RefId" use="required" type="sif:IdRefType" />
    <xs:attribute name="SIF_RefObject" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:enumeration value="StudentPersonal" />
          <xs:enumeration value="StaffPersonal" />
          <xs:enumeration value="StudentContact" />
          <xs:enumeration value="EmployeePersonal" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="Authentication" type="sif:AuthenticationType" />

</xs:schema>